package com.prevpn.dto;

import lombok.Data;

/**
 * 新增用户请求参数
 */
@Data
public class UserCreateDTO {

    private String directoryDomain; // 用户目录唯一标识 (local/custom01339)
    private String name;            // 用户名
    private GroupRef group;         // 所属组织架构
    private String externalId;      // 外部id，可选
    private Integer inheritGroup;   // 是否继承组织授权 (1-继承, 0-不继承)
    private String password;        // 用户密码 (建议RSA加密)
    private String pwdModel;        // 密码加密模式: rsa/clear
    private String displayName;     // 显示名
    private String description;     // 描述信息
    private Integer status;         // 状态 (1-启用, 0-禁用)
    private String phone;           // 手机号
    private String email;           // 邮箱
    private String expiredTime;     // 过期时间 (时间戳或字符串)
    private DataSource dataSource;  // 外部目录用户时的数据来源

    @Data
    public static class GroupRef {
        private String key;   // id/fullPath/externalId
        private String data;  // 对应值，如 /客服体系/专家中心/零信任专家组
    }

    @Data
    public static class DataSource {
        private String displayName;  // local/server
        private String description;  // local/server
        private String status;       // local/server
        private String phone;        // local/server
        private String email;        // local/server
        private String expiredTime;  // local/server
    }
}
